﻿/*********************************************************
 * 开发人员：小兵
 * 创建时间：2012-10-18 10:44:50
 * 描述说明：
 * 
 * 更改历史：
 * 
 * *******************************************************/
namespace Mozlite.WebUI.Ribbon
{
    using System;
    using System.Web;
    using System.Data;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Mozlite.Components;
    using System.Xml;

    /// <summary>
    /// Ribbon分组类。
    /// </summary>
    public class Orb
    {
        /// <summary>
        /// 初始化类<see cref="Orb"/>。
        /// </summary>
        /// <param name="root">节点实例对象。</param>
        public Orb(XmlNode root) {
            foreach(XmlNode node in root) {
                if(node.NodeType == XmlNodeType.Comment)
                    continue;
                switch(node.Name) {
                    case "accessKey":
                        {
                            var key = node.GetInnerText();
                            if(key == null)
                                break;
                            AccessKey = key[0];
                        }
                        break;
                    case "name":
                        OrbName = node.GetInnerText();
                        IsLocalized = node.GetAttribute("isLocal").ToBoolean(true);
                        break;
                    case "menu":
                        if(Menu == null)
                            Menu = new List<OrbMenu>();
                        Menu.Add(new OrbMenu(node));
                        break;
                }
            }
        }
        /// <summary>
        /// 快捷键。
        /// </summary>
        public char AccessKey { get; set; }
        /// <summary>
        /// 名称。
        /// </summary>
        public string OrbName { get; set; }
        /// <summary>
        /// 获取或设置是否本地资源化。
        /// </summary>
        /// <remarks>
        /// 如果设置为<c>true</c>，则将通过OrbName调用资源包的数据。
        /// </remarks>
        public bool IsLocalized { get; set; }
        /// <summary>
        /// 菜单列表。
        /// </summary>
        public List<OrbMenu> Menu { get; set; }
    }
}
